home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / stdio_ext.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  3KB  |  88 lines

  1. /* Functions to access FILE structure internals.
  2.    Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
  3.    This file is part of the GNU C Library.
  4.  
  5.    The GNU C Library is free software; you can redistribute it and/or
  6.    modify it under the terms of the GNU Lesser General Public
  7.    License as published by the Free Software Foundation; either
  8.    version 2.1 of the License, or (at your option) any later version.
  9.  
  10.    The GNU C Library is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.    Lesser General Public License for more details.
  14.  
  15.    You should have received a copy of the GNU Lesser General Public
  16.    License along with the GNU C Library; if not, write to the Free
  17.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18.    02111-1307 USA.  */
  19.  
  20. /* This header contains the same definitions as the header of the same name
  21.    on Sun's Solaris OS.  */
  22.  
  23. #ifndef _STDIO_EXT_H
  24. #define _STDIO_EXT_H    1
  25.  
  26. #include <stdio.h>
  27.  
  28. enum
  29. {
  30.   /* Query current state of the locking status.  */
  31.   FSETLOCKING_QUERY = 0,
  32. #define FSETLOCKING_QUERY    FSETLOCKING_QUERY
  33.   /* The library protects all uses of the stream functions, except for
  34.      uses of the *_unlocked functions, by calls equivalent to flockfile().  */
  35.   FSETLOCKING_INTERNAL,
  36. #define FSETLOCKING_INTERNAL    FSETLOCKING_INTERNAL
  37.   /* The user will take care of locking.  */
  38.   FSETLOCKING_BYCALLER
  39. #define FSETLOCKING_BYCALLER    FSETLOCKING_BYCALLER
  40. };
  41.  
  42.  
  43. __BEGIN_DECLS
  44.  
  45. /* Return the size of the buffer of FP in bytes currently in use by
  46.    the given stream.  */
  47. extern size_t __fbufsize (FILE *__fp) __THROW;
  48.  
  49.  
  50. /* Return non-zero value iff the stream FP is opened readonly, or if the
  51.    last operation on the stream was a read operation.  */
  52. extern int __freading (FILE *__fp) __THROW;
  53.  
  54. /* Return non-zero value iff the stream FP is opened write-only or
  55.    append-only, or if the last operation on the stream was a write
  56.    operation.  */
  57. extern int __fwriting (FILE *__fp) __THROW;
  58.  
  59.  
  60. /* Return non-zero value iff stream FP is not opened write-only or
  61.    append-only.  */
  62. extern int __freadable (FILE *__fp) __THROW;
  63.  
  64. /* Return non-zero value iff stream FP is not opened read-only.  */
  65. extern int __fwritable (FILE *__fp) __THROW;
  66.  
  67.  
  68. /* Return non-zero value iff the stream FP is line-buffered.  */
  69. extern int __flbf (FILE *__fp) __THROW;
  70.  
  71.  
  72. /* Discard all pending buffered I/O on the stream FP.  */
  73. extern void __fpurge (FILE *__fp) __THROW;
  74.  
  75. /* Return amount of output in bytes pending on a stream FP.  */
  76. extern size_t __fpending (FILE *__fp) __THROW;
  77.  
  78. /* Flush all line-buffered files.  */
  79. extern void _flushlbf (void);
  80.  
  81.  
  82. /* Set locking status of stream FP to TYPE.  */
  83. extern int __fsetlocking (FILE *__fp, int __type) __THROW;
  84.  
  85. __END_DECLS
  86.  
  87. #endif    /* stdio_ext.h */
  88.